package com.yuntai.pms.model.entity.flowRule;

import com.alibaba.fastjson.JSON;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

import java.io.Serializable;
import java.util.Date;

@Data
@Slf4j
public class HdpDegradeRule implements Serializable {

    /**
     * 主键
     */
    private Long id;

    /**
     * 医院ID，作为熔断降级策略资源resource（HOS_ID_{hosId}）的一部分
     */
    private Long hosId;

    /**
     * 熔断降级类型。0为平均响应时间RT(以ms为单位)，1为每秒单元的异常比例[0,100]对应sentinel中[0.0, 1.0]，2为最近一分钟的异常数。对应sentinel中的grade字段
     */
    private Integer type;

    /**
     * 不同降级类型时的上限阀值，对应sentinel中的count字段。
     */
    private Integer upperLimit;

    /**
     * 熔断降级的恢复时间，单位为秒（s）
     */
    private Integer recoverTimeout;

    /**
     * 规则描述
     */
    private String description;

    /**
     * 是否启用，0为不启用，1为启用
     */
    private Integer enable;

    /**
     * 操作人
     */
    private String operator;

    /**
     * 创建时间
     */
    private Date gmtCreate;

    /**
     * 最后修改时间
     */
    private Date gmtUpdate;

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}